package com.ruoyi.djb.domain;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 登记管理对象 djb_registry
 * 
 * @author xxd
 * @date 2023-12-08
 */
public class DjbRelease extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**  */
    private Integer id;

    /**  */
    @Excel(name = "")
    private Integer userId;

    /** 称呼或者车牌号 */
    @Excel(name = "称呼或者车牌号")
    private String name;

    /** 手机号 */
    @Excel(name = "手机号")
    private String mobile;

    private Integer districtId;

    /** 门岗ID */
    @Excel(name = "门岗ID")
    private Integer gateId;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 事由 */
    @Excel(name = "事由")
    private String reason;

    /** 类型 */
    @Excel(name = "类型")
    private String type;

    /** 放行人ID */
    @Excel(name = "放行人ID")
    private Integer releaseId;

    /** 放行时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "放行时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date releaseTime;

    /** 0待放行 1已放行 */
    @Excel(name = "0待放行 1已放行")
    private Integer status;

    /** 1访客 2物业 3门卫 4 业主 */
    @Excel(name = "1访客 2物业 3门卫 4 业主")
    private Integer createType;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    private String createName;

    /** 放行人名称 */
    @Excel(name = "放行人名称")
    private String releaseName;

    private JSONObject tags;

    private Integer userType;

    private Integer regHistoryNum;

    /** 楼座 */
    @Excel(name = "楼座")
    private Integer building;

    /** 单元 */
    @Excel(name = "单元")
    private Integer unit;

    /** 层 */
    @Excel(name = "层")
    private Integer floor;

    /** 房间 */
    @Excel(name = "房间")
    private Integer room;

    private String tag;

    private Integer visitNum;

    private String images;

    private String examName;

    private Integer regId;

    private Integer deleteFlag;

    private String department;
    private String idNumber;
    private String districtName;
    private Integer hasFlag;

    private String visitPerson;

    private Integer visitPersonId;
    private Integer inputId;

    public Integer getInputId() {
        return inputId;
    }

    public void setInputId(Integer inputId) {
        this.inputId = inputId;
    }

    public Integer getVisitPersonId() {
        return visitPersonId;
    }

    public void setVisitPersonId(Integer visitPersonId) {
        this.visitPersonId = visitPersonId;
    }

    public String getVisitPerson() {
        return visitPerson;
    }

    public void setVisitPerson(String visitPerson) {
        this.visitPerson = visitPerson;
    }

    public Integer getHasFlag() {
        return hasFlag;
    }

    public void setHasFlag(Integer hasFlag) {
        this.hasFlag = hasFlag;
    }

    public String getDistrictName() {
        return districtName;
    }

    public void setDistrictName(String districtName) {
        this.districtName = districtName;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public Integer getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Integer deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public Integer getRegId() {
        return regId;
    }

    public void setRegId(Integer regId) {
        this.regId = regId;
    }

    /** 出场时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "出场时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outTime;

    private String outName;

    private String outGate;

    public Date getOutTime() {
        return outTime;
    }

    public void setOutTime(Date outTime) {
        this.outTime = outTime;
    }

    public String getOutName() {
        return outName;
    }

    public void setOutName(String outName) {
        this.outName = outName;
    }

    public String getOutGate() {
        return outGate;
    }

    public void setOutGate(String outGate) {
        this.outGate = outGate;
    }

    public String getExamName() {
        return examName;
    }

    public void setExamName(String examName) {
        this.examName = examName;
    }

    public String getImages() {
        return images;
    }

    public void setImages(String images) {
        this.images = images;
    }

    public Integer getVisitNum() {
        return visitNum;
    }

    public void setVisitNum(Integer visitNum) {
        this.visitNum = visitNum;
    }

    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag;
    }

    public Integer getBuilding() {
        return building;
    }

    public void setBuilding(Integer building) {
        this.building = building;
    }

    public Integer getUnit() {
        return unit;
    }

    public void setUnit(Integer unit) {
        this.unit = unit;
    }

    public Integer getFloor() {
        return floor;
    }

    public void setFloor(Integer floor) {
        this.floor = floor;
    }

    public Integer getRoom() {
        return room;
    }

    public void setRoom(Integer room) {
        this.room = room;
    }

    public Integer getDistrictId() {
        return districtId;
    }

    public void setDistrictId(Integer districtId) {
        this.districtId = districtId;
    }

    public Integer getRegHistoryNum() {
        return regHistoryNum;
    }

    public void setRegHistoryNum(Integer regHistoryNum) {
        this.regHistoryNum = regHistoryNum;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public JSONObject getTags()
    {
        if (tags == null)
        {
            tags = new JSONObject();
        }
        return tags;
    }

    public void setTags(JSONObject tags)
    {
        this.tags = tags;
    }

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setUserId(Integer userId) 
    {
        this.userId = userId;
    }

    public Integer getUserId() 
    {
        return userId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setMobile(String mobile) 
    {
        this.mobile = mobile;
    }

    public String getMobile() 
    {
        return mobile;
    }
    public void setGateId(Integer gateId) 
    {
        this.gateId = gateId;
    }

    public Integer getGateId() 
    {
        return gateId;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setReleaseId(Integer releaseId) 
    {
        this.releaseId = releaseId;
    }

    public Integer getReleaseId() 
    {
        return releaseId;
    }
    public void setReleaseTime(Date releaseTime) 
    {
        this.releaseTime = releaseTime;
    }

    public Date getReleaseTime() 
    {
        return releaseTime;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setCreateType(Integer createType) 
    {
        this.createType = createType;
    }

    public Integer getCreateType() 
    {
        return createType;
    }
    public void setCreateName(String createName) 
    {
        this.createName = createName;
    }

    public String getCreateName() 
    {
        return createName;
    }
    public void setReleaseName(String releaseName) 
    {
        this.releaseName = releaseName;
    }

    public String getReleaseName() 
    {
        return releaseName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("name", getName())
            .append("mobile", getMobile())
            .append("gateId", getGateId())
            .append("address", getAddress())
            .append("reason", getReason())
            .append("type", getType())
            .append("createTime", getCreateTime())
            .append("releaseId", getReleaseId())
            .append("releaseTime", getReleaseTime())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createType", getCreateType())
            .append("createName", getCreateName())
            .append("releaseName", getReleaseName())
            .toString();
    }
}
